package com.twq.oo.classes

/**
 * Created by tangweiqun on 2017/11/27.
 * 分号推断逻辑
 */
object SemicolonInference {
  def main(args: Array[String]): Unit = {
    //1、scala一般可以正确的推断出结束的语句
    val x = 3
    if (x < 2)
      println("too small")
    else
      println("ok")

    //2、如果该行的下一行以一个不能成为语句开头的字符开头，则该行和下一行不能算作一个语句
    val y = 5
    //下面的一条语句将会被scala认为是两条语句
    val k = x + y

    println("k = " + k)

    //3、如果该行不是以一个可以结尾的字符而结尾，则该行不能算作一个语句
    val m = 4
    //下面3条语句被scala认为成一条语句
    val z = x +
      y +
      m
    //再如：
    val boolean1 = true
    val boolean2 = false
    val boolean3 = true
    val boolean4 = false
    boolean1 &&
      boolean2 &&
      boolean3 &&
      boolean4 &&
      boolean2 &&
      boolean3 &&
      boolean4 &&
      boolean2 &&
      boolean3 &&
      boolean4

    println("z = " + z)

    //4、在括号()或者中括号[]中的只能算作一个语句，因为括号中不能放多个语句
    val d = (x
      + y)


    println("d = " + d)

    //5、两个语句在同一行的时候，则必须要有分号
    val s = "hello";
    println(s)
  }
}
